_Pragma("once")

#include <string>
#include <string_view>

#include "common.h"
#include "HalUtility.h"
#include "CompoundDevice.h"
#include "AcSwitchDetector.h"
#include "DoorAlertor.h"


/**
 * @author lizb
 */
class DoorAcSwitchDetector : public CompoundDevice {
public:

    DoorAcSwitchDetector(DummyChannel& channel, const ExtendDeviceType& deviceType, const std::string& deviceActknowlege);

    bool initialize() noexcept;

    bool recheck() noexcept override;

    bool updateInformation() override;

    bool activeUpdateInformation() override;

    AcSwitchDetector macSwitchDetector;
    DoorAlertor mdoorAlertor;

};
